Typically, memory modules are tested and certified by memory manufacturers to make sure that memory modules properly operate on signals with parameters that are allowed by appropriate specifications.
Not only are memory modules subject to testing to determine whether they meet specifications as specified by a manufacturer, but memory modules are also typically subject to other conventional tests such as pattern testing and parametric tests. Pattern testing of memory modules is an organized method of exercising each memory cell to verify its functionality. Parametric tests may be designed to verify operating parameters such as, for example, power consumption, standby current, leakage current, voltage levels, and access time.
Conventionally, memory modules may be tested to verify how they perform particular functions during specially-designed testing procedures. Each testing procedure typically targets a particular function performed by the memory module. These conventional tests attempt to reveal whether or not a memory module being tested is likely to fail when used. For example, most conventional tests performed on memory modules are successful, to varying degrees, at detecting parametric failures (e.g. a memory cell may become stuck at 1 or 0), soft failures (e.g. presence of cross talk or linkage between memory cells), and refresh failures, for example.
Some known systems for testing memory modules employ reference memory modules. One example of a known test system in which functional testing of memory modules is performed is described in U.S. Pat. No. 6,055,653 in the name of LeBlanc et al. A memory tester is disclosed, which employs a processor that writes data to a reference module and memory modules under test, reads them back, and compares outputs from the reference module and from the memory modules under test.
However, this known testing method may not address the testing of how memory modules might function while operating in a particular application system, and may not readily detect behavioral failures. A behavioral failure is a failure that occurs when a memory module is used in an actual application system (for example, a failure that occurs as a result of a specific command or access sequence made to a memory module that may arise during normal personal computer (PC) operations). It is very difficult for conventional testing methods to detect such failures, since the tests employed are not truly indicative of how a memory module will behave under its intended application. In fact, a memory module that has only been subject to conventional tests will have never been operated in an actual application environment.